﻿using System;
using System.Data;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.Security;


namespace BackEndSystemWebTv.Pages
{
    public partial class Default : System.Web.UI.Page
    {
        //public static ScriptManager scriptManager;

        /// <summary>
        /// Controleert of iemand die niet ingelogd is probeert op de site te komen.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void Page_Load(object sender, EventArgs e)
        {
            if(User.Identity.Name.Equals(""))
            {
                Response.Redirect("Login.aspx");
            }
           // GebruikersBeheer1.Updategebruikers();
        }
     
        /// <summary>
        /// Wanneer pagina voor het eerst geladen wordt
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void Page_Init(object sender, EventArgs e)
        {
            //if (ScriptManager.GetCurrent(this.Page) == null)
            //{
            //    scriptManager = new ScriptManager();
            //    scriptManager.ID = "myScriptManager";
            //    scriptManager.EnablePartialRendering = true;
            //    this.Page.Form.Controls.Add(scriptManager);
            //}            

            wpManager.WebParts[0].AuthorizationFilter = "Gebruiker";
            foreach (WebPartDisplayMode wpMode in wpManager.SupportedDisplayModes)
            {
                ddlMode.Items.Add(new ListItem(wpMode.Name, wpMode.Name));
            }
        }

        /// <summary>
        /// Wanneer men naar een ander displaymode wilt wordt hij meteen geladen
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void ddlMode_SelectedIndexChanged(object sender, EventArgs e)
        {
            wpManager.DisplayMode = wpManager.SupportedDisplayModes[ddlMode.SelectedValue.ToString()];
        }

        /// <summary>
        /// Wanneer de webpartmanager de webparts laadt, kijkt hij eerst of hij geautoriseerd is voor de rol van de user.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void wpManager_AuthorizeWebPart(object sender, WebPartAuthorizationEventArgs e)
        {
            if (!e.AuthorizationFilter.Equals(""))
            {
                if (Roles.IsUserInRole(e.AuthorizationFilter))
                {
                    e.IsAuthorized = true;
                }
                else
                {
                    e.IsAuthorized = false;
                }
            }
        }

        /// <summary>
        /// Als een webpart weer toegevoegd wordt door de gebruiker update de manager de gebruikers die bestaan
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void wpManager_WebPartAdded(object sender, WebPartEventArgs e)
        {
            //GebruikersBeheer1.Updategebruikers();
        }

        /// <summary>
        /// Wanneer uitgelogd wordt moet het weer mogelijk zijn om de gebruikers in de lijst te laden
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void LoginStatus1_LoggingOut(object sender, LoginCancelEventArgs e)
        {           
        }
    }
}